#ifndef PAIR_DECL_H_
#define PAIR_DECL_H_
#define DECL_PAIR(TYPE1, TYPE2) \
  typedef struct { \
    TYPE1 first; \
    TYPE2 second; \
  } ctl_pair_##TYPE1##_##TYPE2; \
ctl_res_void ctl_pair_##TYPE1##_##TYPE2##_ctor(ctl_pair_##TYPE1##_##TYPE2* pair); \
ctl_res_void ctl_pair_##TYPE1##_##TYPE2##_copy(ctl_pair_##TYPE1##_##TYPE2* dst, const ctl_pair_##TYPE1##_##TYPE2* src); \
ctl_res_void ctl_pair_##TYPE1##_##TYPE2##_dtor(ctl_pair_##TYPE1##_##TYPE2* pair);
#endif